package com.example.myapplicationktkt2.utils

import android.Manifest
import android.app.Activity
import android.content.pm.PackageManager
import android.util.Log
import androidx.core.content.ContextCompat

/**
 * 权限管理工具类
 *
 * @author lingma
 * @since 1.0
 */
class PermissionHelper {
    
    companion object {
        private const val TAG = "PermissionHelper"
        
        /**
         * 检查并请求通知权限（Android 13及以上版本需要）
         * @param activity 当前Activity
         * @param requestPermissionCallback 请求权限的回调函数
         */
        fun checkAndRequestNotificationPermission(
            activity: Activity, 
            requestPermissionCallback: (String) -> Unit
        ) {
            // 检查当前Android版本
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
                // 检查是否已经拥有POST_NOTIFICATIONS权限
                val permission = Manifest.permission.POST_NOTIFICATIONS
                if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
                    // 如果没有权限，就请求权限
                    requestPermissionCallback(permission)
                } else {
                    Log.d(TAG, "通知权限已存在")
                }
            }
        }
    }
}